想寫一些自己開發上遇到的各種小小問題
不是算什麼技術反而問題解決時,會覺得自己code寫的很白癡...
不確定iT這裡能不能發這樣的文章,姑且先試試看當個紀錄,請各位不要氣到拍我
今天PHP單純跳頁的(增刪修)通訊錄,要改成用Ajax
以下code簡短說明
index.php
<table>
<tr>
<th>編號</th>
<th>姓名</th>
<th>性別</th>
<th>電話</th>
<th>地址</th>
<th>E-mail</th>
<th>修改</th>
<th>刪除</th>
</tr>
<?php foreach ($userlist as $key => $value) { ?>
<tr>
<td><?php echo $value['id']; ?></td>
<td><?php echo $value['name']; ?></td>
<td><?php echo $sex = ($value['sex']==="1") ? "男" : "女" ; ?></td>
<td><?php echo $value['tel']; ?></td>
<td>
<a href="./form.php?do=update&id=<?php echo $value['id'];?>">
<button>修改(跳頁)</button>
</a>
</td>
<td>
<a href="../controller/controller.php?do=delete&id=<?php echo $value['id'];?>">
<button onclick="javascript:return del(<?php echo $value['id']; ?>)">刪除(這邊改成Ajax)</button>
</a>
</td>
</tr>
<?php } ?>
</table>
改完後
<td>
<a href="./form.php?do=update&id=<?php echo $value['id'];?>">
<button>修改(跳頁)</button>
</a>
</td>
<td>
<a href="">
<button onclick="javascript:return del(<?php echo $value['id']; ?>)">刪除(這邊改成Ajax)</button>
</a>
</td>
PHP與javascript裡的Ajax不是這次的重點,但還是貼一些給看看
controller.PHP
if ($_SERVER['REQUEST_METHOD'] === 'GET') {
$id = htmlspecialchars($_GET['id']);
if($_GET['do'] === 'delete'){
$DatabaseAccessObject = new DatabaseAccessObject;
$DatabaseAccessObject->deleteUser($id);
header('Location: http://127.0.0.1/table/view/index.php');
exit;
}
}
javascript
再補--
是的,這code就是這麼爛!!!!
因為再改成Ajax之前controller.php是沒問題的,所以當下就想因該是javascript寫出錯了...
就這樣檢查了2小時查不出問題!
錯誤描述
剛載入127.0.0.1/index.php時都沒問題,但按下刪除後,因為Ajax就是為了不重新刷網頁,所以刪除掉的ROW(就是的原素)要remove掉!但按下刪除後卻是直接重新load index.php
解決錯誤
聰明的網友一定都知道答案了!
<td>
**<a href="">**
<button onclick="javascript:return del(<?php echo $value['id']; ?>)">刪除(這邊改成Ajax)</button>
**</a>**
</td>
就是沒除乾淨的超連結tag啦!!
所以不用的tag要刪乾淨阿....浪費2小時的時間QQ